package cn.fl.grpcfg.service.impl;

import cmm.mid.core.framework.page.Pager;
import cn.cmm.base.framework.constant.BaseExceptionConstant;
import cn.cmm.base.framework.exception.BaseException;
import cn.cmm.base.framework.utils.CollectionUtils;
import cn.cmm.base.framework.utils.StringUtils;
import cn.fl.grpcfg.service.ISplGrpOptMainService;
import cn.fl.grpcfg.transform.SplGrpOptMainVOTransform;
import cn.fl.grpcfg.vo.SplGrpOptMainVO;
import fl.spl.facade.grpcfg.api.ISplGrpOptMainApiService;
import fl.spl.facade.grpcfg.dto.SplGrpOptMainDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * @Description: 集团操作主表 客户端服务层接口实现
 * @Description: 业务层方法名称前缀：新增：add* 删除：remove* 修改：modify* 查询对象：select* get* 批量：batch* 查询集合：search*
 */
@Service
public class SplGrpOptMainServiceImpl implements ISplGrpOptMainService {

    /**
     * 自定义 API 自行注入需要的API服务
     */
    @Autowired
    private ISplGrpOptMainApiService splGrpOptMainApiService;

    @Override
    public SplGrpOptMainVO selectById(Long id) throws BaseException {
        if (StringUtils.isEmpty(id)) {
            throw new BaseException(BaseExceptionConstant.COMMON_0001, "获取对象主键不能为空!");
        }
        //TODO 业务逻辑
        SplGrpOptMainDTO dto = null;
        //this.自定义ApiService.selectSplGrpOptMainDTOById(id);
        return SplGrpOptMainVOTransform.toVO(dto);
    }

    @Override
    public Long add(SplGrpOptMainVO entity) throws BaseException {
        if (null == entity) {
            throw new BaseException(BaseExceptionConstant.COMMON_0001, "新增对象不存在!");
        }
        ;
        //return this.splGrpOptMainApiService.add(SplGrpOptMainVOTransform.toDTO(entity));
        //TODO 业务逻辑
        return null;
    }

    @Override
    public boolean removeById(Long id) throws BaseException {
        if (StringUtils.isEmpty(id)) {
            throw new BaseException(BaseExceptionConstant.COMMON_0001, "删除对象主键不能为空!");
        }
        ;
        //return this.splGrpOptMainApiService.removeSplGrpOptMainDTOById(id);
        //TODO 业务逻辑
        return false;
    }

    /**
     * 删除
     *
     * @param ids
     * @return
     */
    @Override
    public boolean removeByIds(List<Long> ids) throws BaseException {
        if (CollectionUtils.isEmpty(ids)) {
            throw new BaseException(BaseExceptionConstant.COMMON_0001, "删除对象主键不能为空!");
        }
        ;
        return false;
    }

    @Override
    public boolean modify(SplGrpOptMainVO entity) throws BaseException {
        if (null == entity) {
            throw new BaseException(BaseExceptionConstant.COMMON_0001, "修改对象不能为空!");
        }
        ;
        //return this.splGrpOptMainApiService.modifySplGrpOptMainDTO(SplGrpOptMainVOTransform.toDTO(entity));
        //TODO 业务逻辑
        return false;
    }

    @Override
    public Pager searchListPage(Pager page) throws BaseException {
        if (null == page) {
            page = new Pager();
        }
        //return this.splGrpOptMainApiService.searchSplGrpOptMainListPage(page);
        //TODO 业务逻辑
        return null;
    }
}
